This disclosure generally relates to distributing digital content, and more specifically to utilizing a decision engine for dynamically determining the content encodings for delivering appropriately encoded media content to a client device.
The advent of online systems has enabled users of the online system to be able to conveniently share content. Thus, online systems receive overwhelming amounts of content that must be appropriately processed (e.g., transcoding source content into output content in an appropriate format) before being delivered to client devices. A challenging step in the transcoding process includes encoding the content such that a client device that receives the encoded content can readily playback the content for a user.
Online systems often generate a wide set of content encodings for a particular piece of digital content, e.g., a source media stream, to ensure that each client device that requests to access the content can receive content that has been appropriately encoded for that client device. However, in an effort to ensure that the appropriate content encodings are available without knowing characteristics of receiving devices or network conditions during the distribution beforehand, an online system may generate various content encodings that are not distributed or limitedly distributed to client devices. Given that encoding content is a highly computationally expensive process, encoding content that will not be distributed or only limitedly distributed is a waste of the online system's resources. As an example, currently, very few client devices can currently display content with an 8K video resolution. Therefore, if the online system encodes a video content with an 8K video resolution, it risks wasting the resources that were used to generate that encoding because the probability of a client device that can playback a video with 8K video resolution may be low.